package com.softWang.job.po;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.softWang.common.base.BasePO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.Pattern;

/**
 * <p>
 * 定时任务管理---定时任务表
 * </p>
 *
 * @author wang
 * @since 2025-05-08
 */
@TableName(value = "job_manage", autoResultMap = true)
@KeySequence("job_manage_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
public class JobManage extends BasePO{

    @ApiModelProperty(value = "任务ID,长度19")
    @TableId
    private Long jobId;

    @ApiModelProperty(value = "任务名称,长度50")
    private String jobName;

    @ApiModelProperty(value = "任务组名,长度50")
    private String jobGroup;

    @ApiModelProperty(value = "任务类全名（包含包名）且类需继承AbstractQuartzJob,长度255")
    private String jobClassName;

    @ApiModelProperty(value = "job执行需要的参数,长度500")
    private String parameter;

    @ApiModelProperty(value = "cron执行表达式,长度20")
    private String cronExpression;

    @ApiModelProperty(value = "cron计划策略,长度255")
    @Pattern(regexp = "^[0123]$", message = "cron计划策略格式错误")
    private String misfirePolicy;

    @ApiModelProperty(value = "任务状态（0正常 1暂停） ,长度2")
    private String status;

    @ApiModelProperty(value = "任务是否是一次性任务（1 一次性， 0 持续任务）,长度2")
    private String sysJobOnce;

    @ApiModelProperty(value = "任务是否完成（1 完成， 0 未完成）,长度255")
    private String finish;

}
